.product-search {
	.search {
		margin-bottom: 0;
		border: 1px solid var( --color-neutral-10 );
		box-sizing: border-box;
		z-index: 9;
	}

	.form-fieldset {
		margin-bottom: 0;
	}

	select + .product-search__filtered-list {
		margin-top: 16px;
	}

	.product-search__list {
		position: relative;
		border: 1px solid var( --color-neutral-10 );
		border-top: 0;
		overflow-y: auto;
		max-height: 350px;

		.product-search__row {
			background-color: var( --color-surface );
			cursor: pointer;
			border-bottom: 1px solid var( --color-neutral-0 );

			&:last-child {
				border-bottom: 0;
			}

			&.is-placeholder .product-search__row-item,
			&.is-empty .product-search__row-item {
				cursor: default;
			}

			&.is-placeholder span {
				@include placeholder();

				&.product-search__row-title {
					width: 100px;
				}
			}

			label,
			.product-search__row-item {
				width: 100%;
				display: flex;
				align-items: center;
				padding: 12px 16px;
				margin: 0;
				font-weight: 400;
				cursor: pointer;
				position: relative;
			}

			.image-thumb {
				margin: 0 12px 0 15px;
			}

			.count {
				width: 16px;
			}

			.form-checkbox {
				margin-left: 7px;
			}

			.form-checkbox + .product-search__list-image {
				margin-left: 22px;
			}

			.button {
				position: absolute;
				top: 12px;
				right: 16px;
			}
		}
	}

	.product-search__variation-selections-and-form {
		background: var( --color-neutral-0 );
		border-top: 1px solid var( --color-neutral-0 );

		label.form-label {
			.form-checkbox + .product-search__list-image {
				margin-left: 38px;
			}
		}

		&:empty {
			border: 0;
		}
	}

	.product-search__variations {
		padding: 16px 16px 16px 77px;
		border-top: 1px solid var( --color-neutral-0 );

		.form-legend {
			font-weight: 400;
			margin: 0 0 16px;
		}

		.product-search__variation-fields {
			display: flex;
			flex-wrap: wrap;
			align-items: flex-start;
			justify-content: space-between;

			.form-label {
				margin-bottom: 5px;
				padding: 0;
				font-weight: 600;
			}
		}

		.product-search__variation-field {
			flex: 0 1 calc( 50% - 10px );
			max-width: calc( 50% - 10px );
			margin-bottom: 16px;

			&:last-child {
				margin-bottom: 0;
			}
		}
	}
}
